使用ThreeJs搭建BIM模型浏览器,超大模型的分时渲染 您所在的位置:网站首页 轻量化渲染 bim 使用ThreeJs搭建BIM模型浏览器,超大模型的分时渲染

使用ThreeJs搭建BIM模型浏览器,超大模型的分时渲染

2023-08-24 13:57| 来源: 网络整理| 查看: 265

 使用Threej搭建大场景,超大模型渲染的时候特别卡,渲染构件数量过多,顶点多,数据量大,一次性渲染耗时超长,FPS小,甚至掉到5以下。这种情况直接的体验是,无法操作!

那如何让它变成优先响应鼠标操作呢,至少让人体验起来不卡。首先我们看一下Revit,如果模型特别大,转换起来是什么样的。

是不是发现Revit也闪得十分厉害?在拖的时候,几十栋的园区,也只剩下1栋房子还在,其他的都等拖完了再慢慢渲染出来。这种特性是利用了javascript的分时渲染,原型是把10万个构件分成10份分批提交timeout去执行,把一个大任务碎片化。以浏览器的机制,小任务中间可以插入鼠标操作,同时呢,鼠标操作时需要重新渲染,也即要求中断掉前面的渲染,可以上www.qmodel.cn体验大模型渲染效果。中断掉前面的渲染,避免资源的浪费,这种情况下即使FPS只有5,但是你感觉不到卡顿的。

这种技术也有人叫它渐进式渲染。其实是一种分时处理技术。

在前端渲染改造后变成这个样子

http://www.qmodel.cn

咱跟别人不一样,别人分享技术有意含糊不清,让伙伴们踩坑。咱要不么分享,而分享的东西必须是正确的。代码来了

当然实际上优化远远不仅于此,还是期望小伙伴们找QModel购买,无论直接买产品去部署还是买源码,都是可以聊聊的。请到www.qmodel.ch加我们好友。

function renderObjects( renderList, scene, camera ) { //用咱写的替换掉别人的 var newRender = true;//new render request flag var result = []; var randerOnece = 2000;//一次渲染2000个构件 for(var i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有